using System.Collections.Generic;
using System.Runtime.CompilerServices;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Schema;
using ns20;

namespace ns21
{
	internal class Class121
	{
		[CompilerGenerated]
		private bool bool_0;

		[CompilerGenerated]
		private JsonSchemaType jsonSchemaType_0;

		[CompilerGenerated]
		private int? nullable_0;

		[CompilerGenerated]
		private int? nullable_1;

		[CompilerGenerated]
		private double? nullable_2;

		[CompilerGenerated]
		private double? nullable_3;

		[CompilerGenerated]
		private double? nullable_4;

		[CompilerGenerated]
		private bool bool_1;

		[CompilerGenerated]
		private bool bool_2;

		[CompilerGenerated]
		private int? nullable_5;

		[CompilerGenerated]
		private int? nullable_6;

		[CompilerGenerated]
		private IList<string> ilist_0;

		[CompilerGenerated]
		private IList<Class121> ilist_1;

		[CompilerGenerated]
		private IDictionary<string, Class121> idictionary_0;

		[CompilerGenerated]
		private IDictionary<string, Class121> idictionary_1;

		[CompilerGenerated]
		private Class121 class121_0;

		[CompilerGenerated]
		private Class121 class121_1;

		[CompilerGenerated]
		private bool bool_3;

		[CompilerGenerated]
		private bool bool_4;

		[CompilerGenerated]
		private bool bool_5;

		[CompilerGenerated]
		private bool bool_6;

		[CompilerGenerated]
		private IList<JToken> ilist_2;

		[CompilerGenerated]
		private JsonSchemaType jsonSchemaType_1;

		public bool Boolean_0
		{
			[CompilerGenerated]
			get
			{
				return bool_0;
			}
			[CompilerGenerated]
			set
			{
				bool_0 = value;
			}
		}

		public JsonSchemaType JsonSchemaType_0
		{
			[CompilerGenerated]
			get
			{
				return jsonSchemaType_0;
			}
			[CompilerGenerated]
			set
			{
				jsonSchemaType_0 = value;
			}
		}

		public int? Nullable_0
		{
			[CompilerGenerated]
			get
			{
				return nullable_0;
			}
			[CompilerGenerated]
			set
			{
				nullable_0 = value;
			}
		}

		public int? Nullable_1
		{
			[CompilerGenerated]
			get
			{
				return nullable_1;
			}
			[CompilerGenerated]
			set
			{
				nullable_1 = value;
			}
		}

		public double? Nullable_2
		{
			[CompilerGenerated]
			get
			{
				return nullable_2;
			}
			[CompilerGenerated]
			set
			{
				nullable_2 = value;
			}
		}

		public double? Nullable_3
		{
			[CompilerGenerated]
			get
			{
				return nullable_3;
			}
			[CompilerGenerated]
			set
			{
				nullable_3 = value;
			}
		}

		public double? Nullable_4
		{
			[CompilerGenerated]
			get
			{
				return nullable_4;
			}
			[CompilerGenerated]
			set
			{
				nullable_4 = value;
			}
		}

		public bool Boolean_1
		{
			[CompilerGenerated]
			get
			{
				return bool_1;
			}
			[CompilerGenerated]
			set
			{
				bool_1 = value;
			}
		}

		public bool Boolean_2
		{
			[CompilerGenerated]
			get
			{
				return bool_2;
			}
			[CompilerGenerated]
			set
			{
				bool_2 = value;
			}
		}

		public int? Nullable_5
		{
			[CompilerGenerated]
			get
			{
				return nullable_5;
			}
			[CompilerGenerated]
			set
			{
				nullable_5 = value;
			}
		}

		public int? Nullable_6
		{
			[CompilerGenerated]
			get
			{
				return nullable_6;
			}
			[CompilerGenerated]
			set
			{
				nullable_6 = value;
			}
		}

		public IList<string> IList_0
		{
			[CompilerGenerated]
			get
			{
				return ilist_0;
			}
			[CompilerGenerated]
			set
			{
				ilist_0 = value;
			}
		}

		public IList<Class121> IList_1
		{
			[CompilerGenerated]
			get
			{
				return ilist_1;
			}
			[CompilerGenerated]
			set
			{
				ilist_1 = value;
			}
		}

		public IDictionary<string, Class121> IDictionary_0
		{
			[CompilerGenerated]
			get
			{
				return idictionary_0;
			}
			[CompilerGenerated]
			set
			{
				idictionary_0 = value;
			}
		}

		public IDictionary<string, Class121> IDictionary_1
		{
			[CompilerGenerated]
			get
			{
				return idictionary_1;
			}
			[CompilerGenerated]
			set
			{
				idictionary_1 = value;
			}
		}

		public Class121 Class121_0
		{
			[CompilerGenerated]
			get
			{
				return class121_0;
			}
			[CompilerGenerated]
			set
			{
				class121_0 = value;
			}
		}

		public Class121 Class121_1
		{
			[CompilerGenerated]
			get
			{
				return class121_1;
			}
			[CompilerGenerated]
			set
			{
				class121_1 = value;
			}
		}

		public bool Boolean_3
		{
			[CompilerGenerated]
			get
			{
				return bool_3;
			}
			[CompilerGenerated]
			set
			{
				bool_3 = value;
			}
		}

		public bool Boolean_4
		{
			[CompilerGenerated]
			get
			{
				return bool_4;
			}
			[CompilerGenerated]
			set
			{
				bool_4 = value;
			}
		}

		public bool Boolean_5
		{
			[CompilerGenerated]
			get
			{
				return bool_5;
			}
			[CompilerGenerated]
			set
			{
				bool_5 = value;
			}
		}

		public bool Boolean_6
		{
			[CompilerGenerated]
			get
			{
				return bool_6;
			}
			[CompilerGenerated]
			set
			{
				bool_6 = value;
			}
		}

		public IList<JToken> IList_2
		{
			[CompilerGenerated]
			get
			{
				return ilist_2;
			}
			[CompilerGenerated]
			set
			{
				ilist_2 = value;
			}
		}

		public JsonSchemaType JsonSchemaType_1
		{
			[CompilerGenerated]
			get
			{
				return jsonSchemaType_1;
			}
			[CompilerGenerated]
			set
			{
				jsonSchemaType_1 = value;
			}
		}

		public Class121()
		{
			JsonSchemaType_0 = JsonSchemaType.Any;
			Boolean_4 = true;
			Boolean_5 = true;
			Boolean_0 = false;
		}

		public static Class121 smethod_0(IList<JsonSchema> ilist_3)
		{
			Class121 @class = new Class121();
			foreach (JsonSchema item in ilist_3)
			{
				smethod_1(@class, item);
			}
			return @class;
		}

		private static void smethod_1(Class121 class121_2, JsonSchema jsonSchema_0)
		{
			class121_2.Boolean_0 = class121_2.Boolean_0 || (jsonSchema_0.Required ?? false);
			class121_2.JsonSchemaType_0 &= jsonSchema_0.Type ?? JsonSchemaType.Any;
			class121_2.Nullable_0 = Class193.smethod_3(class121_2.Nullable_0, jsonSchema_0.MinimumLength);
			class121_2.Nullable_1 = Class193.smethod_2(class121_2.Nullable_1, jsonSchema_0.MaximumLength);
			class121_2.Nullable_2 = Class193.smethod_4(class121_2.Nullable_2, jsonSchema_0.DivisibleBy);
			class121_2.Nullable_3 = Class193.smethod_4(class121_2.Nullable_3, jsonSchema_0.Minimum);
			class121_2.Nullable_4 = Class193.smethod_4(class121_2.Nullable_4, jsonSchema_0.Maximum);
			class121_2.Boolean_1 = class121_2.Boolean_1 || (jsonSchema_0.ExclusiveMinimum ?? false);
			class121_2.Boolean_2 = class121_2.Boolean_2 || (jsonSchema_0.ExclusiveMaximum ?? false);
			class121_2.Nullable_5 = Class193.smethod_3(class121_2.Nullable_5, jsonSchema_0.MinimumItems);
			class121_2.Nullable_6 = Class193.smethod_2(class121_2.Nullable_6, jsonSchema_0.MaximumItems);
			class121_2.Boolean_3 = class121_2.Boolean_3 || jsonSchema_0.PositionalItemsValidation;
			class121_2.Boolean_4 = class121_2.Boolean_4 && jsonSchema_0.AllowAdditionalProperties;
			class121_2.Boolean_5 = class121_2.Boolean_5 && jsonSchema_0.AllowAdditionalItems;
			class121_2.Boolean_6 = class121_2.Boolean_6 || jsonSchema_0.UniqueItems;
			if (jsonSchema_0.Enum != null)
			{
				if (class121_2.IList_2 == null)
				{
					class121_2.IList_2 = new List<JToken>();
				}
				class121_2.IList_2.smethod_7(jsonSchema_0.Enum, JToken.EqualityComparer);
			}
			class121_2.JsonSchemaType_1 |= jsonSchema_0.Disallow ?? JsonSchemaType.None;
			if (jsonSchema_0.Pattern != null)
			{
				if (class121_2.IList_0 == null)
				{
					class121_2.IList_0 = new List<string>();
				}
				class121_2.IList_0.smethod_4(jsonSchema_0.Pattern);
			}
		}
	}
}
